#include <stdio.h>//求1-1/2+1/3-1/4到-1/100
#define _CRT_SECURE_NO_WARNINGS
//int main()
//{
//	double  c = 0;
//	int i = 0;
//	for (i = 1; i <= 100; i++)
//	{
//		double n = 1.0 / i;
//
//		if (i % 2 == 1)
//			n = n;
//		else
//			n = -n;
//		c += n;
//
//	}
//	printf("%lf\n", c);
//
//	return 0;
//}


//用函数求斐波那契数  1 1 2 3 5 8:前两个数相加等于第三个数
//int fib(int n)
//{
//	int a = 1;
//	int b = 1;
//	int c = 1;
//
//	while (n>2)
//	{
//		c = a + b;
//		a = b;
//		b = c;
//		n--;
//
//	}
//	return c;
//}
//
//
//
//int main()
//{
//	int n = 0;
//	scanf_s("%d\n", &n);
//	int ret = fib(n);
//	printf("%d\n", ret);
//
//	return 0;
//}

//用函数递归思想求阶乘   Fac()
int Fac(int n)
{
	if (n == 1)
		return 1;
	else
		return n * Fac(n - 1);

}



int main()
{
	int n = 0;
	scanf_s("%d", &n);
	int jc = Fac(n);
	printf("%d\n", jc);

	return 0;
}